def get():
return list(map(int, input().split()))
def intput():
return int(input())
dRow = [ -1, 0, 1, 0]
dCol = [ 0, 1, 0, -1]
def main():
n=intput()
vis=[['.' for _ in range(n)] for _ in range(n)]
s=0
for r in range(n):
for c in range(n):
ans=True
for i in range(4):
x=c+dCol[i]
y=r+dRow[i]
if (x<0 or y<0 or y>=n or x>=n):
continue
ans&=(vis[y][x]!='C')
if (ans ):
vis[r][c]='C'
s+=1
print(s)
for r in range(n):
print (''.join(vis[r]))
main()
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin>>n;
if(n%2==0)
cout<<n*n/2<<endl;
else
cout<<(n*n+1)/2<<endl;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if((i+j)%2==0)cout<<'C';
else
cout<<'.';
}
cout<<endl;
}
}
1382A - Common Subsequence | 1512D - Corrupted Array |
667B - Coat of Anticubism | 284B - Cows and Poker Game |
1666D - Deletive Editing | 1433D - Districts Connection |
2B - The least round way | 1324A - Yet Another Tetris Problem |
246B - Increase and Decrease | 22E - Scheme |
1566A - Median Maximization | 1278A - Shuffle Hashing |
1666F - Fancy Stack | 1354A - Alarm Clock |
1543B - Customising the Track | 1337A - Ichihime and Triangle |
1366A - Shovels and Swords | 919A - Supermarket |
630C - Lucky Numbers | 1208B - Uniqueness |
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |
851A - Arpa and a research in Mexican wave | 811A - Vladik and Courtesy |
1006B - Polycarp's Practice | 1422A - Fence |